Skip to content

Conversation

@cairibep
Copy link
Owner

Membros do grupo:

  • Caio Ribeiro
  • Pedro Paulo Camargo
  • Enzo Luidge

A oportunidade de abstração identificada foi feita, majoritariamente, no arquivo game_screen, no qual se fez presente muitas chamadas de sons com o uso do .play()/.stop(), de forma que foram feitas algumas funções a fim de ocultar essas chamadas do loop principal do jogo, e substituí-las pelas chamadas de função cujos nomes seriam de mais fácil assimilação. Esse tipo de abstração também poderia ter sido utilizado em outras partes do código em que se faziam presentes o carregamento de imagens e fontes, por exemplo, também melhorando a coesão.

A oportunidade de coesão identificada foi feita, principalmente, no arquivo sprites, no qual foi observado que muitas classes tinham dados em comum que poderiam facilmente ser compiladas apenas numa superclasse, que foi chamada de ConstrutorComum, já que os dados eram passados nos construtores de quase todas as classes. Em especial para o caso da classe das águias, EagleLeft e EagleRigth, que inclusive não possuíam esses nomes e os receberam a fim de tornar o código mais legível, uma superclasse intermediária Eagle foi feita entre ConstrutorComum e elas, de forma que Eagle possuísse além dos dados da sua superclasse, dados em comum para ambos os tipos de águia.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants